Javascript - Object vs Map


Map是ES6(ECMAScript 2015)新增的資料結構之一,同樣都是 { } ,所以應該要了解什麼情況會從Object轉而使用Map。

Object Map
Key的型別 字串、Symbol 任何型別
鍵值對的順序 X O
使用方法 . 、 [ ] set( ) 、 get( ) 、 has( )等
迭代方法(iteration) Object.keys for...of 、 forEach

使用情境:
*Object:

  1. 當你需要直接訪問屬性時,Object 提供了更方便的語法。你可以使用 . 或 [ ] 來訪問屬性。
  2. 當你的鍵是字符串或符號時。
  3. 當你需要一個簡單的鍵值對集合時。例如,當你有一個固定的一組鍵和對應的值時。

*Map:

  1. 當你需要動態地添加和刪除鍵值對時。
  2. 當你需要按插入順序進行操作時,因為它保持了插入順序。
  3. 當你的Key不僅限於字符串和符號時,因為它可以接受任意類型的鍵。






你可能感興趣的文章

Day01 初試身手

Day01 初試身手

簡明程式解題入門 - 陣列篇 I

簡明程式解題入門 - 陣列篇 I

菜比八寫後端(3) - MySQL key與正規化

菜比八寫後端(3) - MySQL key與正規化






留言討論